A cluster system is a system that improves processing capability and reliability that have been limited in a single node, by operating a plurality of nodes to execute a process of the same working purpose. Generally, as a cluster system, there are three types of a failover type, a load balance type and an HPC (High Performance Computing) type.
First, the failover type will be described. In the failover type, two or more nodes are operated. If the operation becomes impossible due to a certain cause, other node that was on standby takes over its process, thereby improving HA (High Availability).
Then, the load balance type will be described. In the load balance type, a server, such as a WWW (World Wide Web), an FTP (File Transfer Protocol) server, etc., are multiplexed, realizing scalability. More particularly, a session of an IP level to one load balancer is assigned to a plurality of standby service nodes. Thus, a load on one node is dispersed. There are several methods for allocating, however, a structure, such as a round robin type for sequentially assigning a process, a dynamic load balancer for assigning the process to a service node having a small load while monitoring a load of the network traffic, or the like is often used.
Next, the HPC type will be described. In the HPC type, a parallel process application is performed at high speed by operating a plurality of nodes in cooperation. If data transfer band of interconnection between the nodes is narrow, it becomes a bottleneck to lower the entire processing capability. Therefore, a high-speed interface such as giga bit Ethernet or Myrinet may be connected. There are libraries, such as an MPI (Message Passing Interface), a PVM (Parallel Virtual Machine), etc. to form the parallel process application. They are utilized in an academic study field in conjunction with a numeric value calculation library.
However, in the above-mentioned cluster system, a user application is performed directly on the node. Therefore, there is a problem that the user application cannot flexibly deal with a node failure or a change of a structure. Therefore, for example, it has been necessary to deal with a node failure or the like for each user application.
In view of the above-mentioned problems, the present invention has been made to provide a computer node, a cluster system, a cluster managing method and a cluster managing program which can deal flexibly with a change of a structure, such as a node failure, without changing the user application, by concealing and virtualizing the node so as not to directly operate the node in a cluster system of the user application.